package com.redpack.redpost.util.dao;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.redpack.redpost.connection.RedpostConexion;

import com.redpack.redpost.util.to.*;



public class MercanciaImporteDao {

	
	public static boolean eliMerc ( int cve_mercancia ) throws Exception {
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{

			sql = "UPDATE redpost.tbl_mercancia_importe set activo=0 where cve_mercancia=" +cve_mercancia;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
	}
	
public static MercanciaImporteTo getMercancia( int cve_mercancia )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		MercanciaImporteTo mercancia = new MercanciaImporteTo(); 
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_mercancia_importe where activo=1 and cve_mercancia="+cve_mercancia+";" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			res = true ;
			
			while (rs.next()) {
				mercancia.setCve_mercancia( rs.getInt(1) );
				mercancia.setNombre( rs.getString(2) );
				mercancia.setNombre_eng(rs.getString(7));
				mercancia.setLimite_inferior( rs.getFloat(3) );
				mercancia.setLimite_superior( rs.getFloat(4) );
				mercancia.setPorcentaje_impuesto_import( rs.getFloat(5) );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return mercancia ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return mercancia ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	
	public static List getMercancias(  )throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		ResultSet rs = null ;
		List mercancias = new ArrayList(); 
		//boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "select * from redpost.tbl_mercancia_importe where activo=1;" ;
			ps = conn.prepareStatement( sql ) ;
			rs = ps.executeQuery();

			//res = true ;
			
			while (rs.next()) {
				MercanciaImporteTo row = new MercanciaImporteTo();
				row.setCve_mercancia( rs.getInt(1) );
				row.setNombre( rs.getString(2) );
				row.setNombre_eng( rs.getString(7) );
				row.setLimite_inferior(rs.getFloat(3) );
				row.setLimite_superior(rs.getFloat(4) );
				row.setPorcentaje_impuesto_import( rs.getFloat(5));
				mercancias.add( row );
			}
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return mercancias ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;
			return mercancias ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
	public static boolean updMercancia(int cve_mercancia,String nombre,float limite_inferior,float limite_superior,float porcentaje_impuesto_import, String nombre_eng )throws Exception{
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = ""  ;
		
		try{
			sql = "UPDATE redpost.tbl_mercancia_importe set nombre='"+nombre+"' ,nombreng='"+nombre_eng+"', limite_inferior="+limite_inferior+" , limite_superior="+limite_superior+" , porcentaje_impuesto_import="+porcentaje_impuesto_import+"   where cve_mercancia=" +cve_mercancia;			
			ps = conn.prepareStatement( sql ) ;
			ps.execute();
			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}
	
public static boolean saveMercancia( String nombre, float limite_inferior,float limite_superior,float porcentaje_impuesto_import, String nombre_eng)throws Exception {
		
		Connection conn = RedpostConexion.openConnection( ) ;
		conn.setAutoCommit( false ) ;
		PreparedStatement ps = null ;
		boolean res = false ;
		String sql = "" ;
		
		try{			
			
			sql = "INSERT INTO redpost.tbl_mercancia_importe(nombre, limite_inferior,limite_superior,porcentaje_impuesto_import,nombreng) VALUES ('"+nombre+"', "+limite_inferior+", "+limite_superior+","+porcentaje_impuesto_import+",'"+nombre_eng+"');" ;
			ps = conn.prepareStatement( sql ) ;
			ps.execute( ) ;

			res = true ;
			
			conn.commit( ) ;
			ps.close( ) ;
			conn.close( ) ;
			
			return res ;
			
		}catch ( Exception e ) {
			e.printStackTrace( ) ;			
			return res ;
		} finally {
            if (conn != null) {
                conn.close();
            }
			
		}
		
	}

}
